package com.bxt.demo.price;

import lombok.extern.slf4j.Slf4j;

/**
 * 满减价格计算
 * 涉及一个问题，输入信息是否全部为文字，如果全部为文字，则需要针对不同的文字设定文字模版
 * 根据模版获取相关参数数据的数值，再根据对应的满减类型取公式进行计算。
 * 类似这种问题的处理，在数据规模不是超大的时候，穷举处理应该是最合适的，针对已有数据进行若干轮清洗后则可穷举全部用例。
 */
@Slf4j
public class PriceCalc {

    public static float renfer_data(String cx_str,int price){
        if (cx_str.trim().equals("")) {
            //如果没有促销信息则原价返回。
            return price;
        } else {
            //解析促销信息，提取促销数据内容，并按照促销方式进行计算。
            float ret = 0;
            ret = RegExp.match1(price,cx_str);
            if (ret > 0) {
                return ret;
            }
            //TODO 其他的促销信息参考上面的处理方式进行穷举即可。需要注意的是，不同的促销信息通过正则穷举后，很可能计算方式存在相同算法，最后再进行归并处理即可。
            return 0;
        }
    }

    //public static void ex促销
    public static void main(String[] args) {
        log.info("test:"+renfer_data("购买至少1件时可享受优惠,满1249元减130元",1169));
    }








}
